// P4782 write by cn_ryh